[windows] Скрипт. Быстрый экспорт фото в HTML-галерею

Этот метод позволяет мгновенно создать одну веб-страницу, на которой будут выведены все изображения из выбранной папки в виде удобной «ленты». Идеально для чтения книг в скриншотах, проверки фотосессий или архивов.

📜 Сам скрипт (PowerShell)

$path = "C:\MyImages"; $html = "$path\view_all.html"; 
$head = "<html><head><style>body{background:#111;text-align:center;padding:20px;} img{max-width:90%;margin-bottom:20px;border:2px solid #333;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.5);}</style></head><body>"; 
$images = Get-ChildItem -Path $path -Filter *.png | Sort-Object Name; 
$content = foreach ($img in $images) { "<img src='$($img.Name)'>" }; 
$head + $content + "</body></html>" | Out-File -FilePath $html -Encoding utf8; 
Start-Process $html

🧩 Разбор команды по частям

  1. $path = "..." – здесь вы указываете путь к папке, где лежат ваши картинки.
  2. $html = ... – задаёт имя файла, который будет создан (в данном случае view_all.html).
  3. $head = "..." – это «дизайн» страницы.
    • background:#111 – делает фон тёмным.
    • max-width:90% – подгоняет картинки под ширину экрана.
    • box-shadow – добавляет красивую тень вокруг каждого скрина.
  4. Get-ChildItem -Filter *.png – ищет в папке только файлы с расширением .png. Если нужно другое, просто меняете на *.jpg или *.webp.
  5. Sort-Object Name – важная часть! Сортирует изображения по имени, чтобы они шли по порядку.
  6. Out-File ... -Encoding utf8 – сохраняет готовый файл. Кодировка UTF8 нужна, чтобы в пути к файлам понимался русский язык.
  7. Start-Process $html – автоматически открывает готовый файл в браузере сразу после создания.

🚀 Как пользоваться

  1. Скопируйте код.
  2. В коде замените путь в первой строке на свой.
  3. Нажмите Win + X -> Терминал (или PowerShell).
  4. Вставьте код и нажмите Enter.

🚀 Финальный метод: Всё в одном файле (Base64)

Этот скрипт создаёт один автономный HTML-файл. Картинки вшиваются в него в виде кода, поэтому папку с исходниками можно будет даже удалить – всё останется внутри .html.

📜 Скрипт (PowerShell)

$htmlFile = "gallery_final.html"
$content = ""
# Умная сортировка и конвертация каждой картинки в код
$files = Get-ChildItem -Filter *.png | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20, '0') }) }
foreach ($file in $files) {
    $bytes = [System.IO.File]::ReadAllBytes($file.FullName)
    $base = [System.Convert]::ToBase64String($bytes)
    $content += "<img src='data:image/png;base64,$base' style='vertical-align:top; width:100%; height:auto;'>"
}
# Сборка финального файла без отступов (эффект бесшовной ленты)
$html = "<html><head><style>body{margin:0;padding:0;background:#000;}img{display:block;}</style></head><body>$content</body></html>"
Set-Content -Path $htmlFile -Value $html -Encoding UTF8
Write-Host "Готово! Файл $htmlFile создан." -ForegroundColor Green

🧩 Что изменилось в этой версии:

  1. [regex]::Replace – это «магия» сортировки. Она гарантирует, что страницы 9.png10.png и 130.png встанут строго по порядку, а не вразнобой.
  2. Base64String – превращает бинарный файл картинки в текст. Теперь файл gallery_final.html – это ваша портативная книга.
  3. width:100% и margin:0 – убирают все белые поля и рамки. Картинки стыкуются идеально ровно, как в профессиональных читалках комиксов или ленте блога.